Today's consumers enjoy the ability to access a tremendous amount of media content, such as music and videos, at any location or time of day, using a wide variety of media devices.
Native media applications, for example Spotify clients adapted for use with a Spotify media content environment, are generally quite capable when streaming different types of media content. However, other types of media applications that rely on web technologies such as JavaScript/HTML5, or do not support Media Source Extensions, face some limitations.
For example, the audio API in JavaScript/HTML5 currently only allows complete MP3 files to be decoded into raw data, prior to being sent to an audio speaker, which in turn requires a client to download an entire, e.g., song, before any part of that song can be played. Additionally, some clients may be unable to play encrypted media content files (e.g., encrypted MP3 files), which prevents those clients from being used with media streaming services that store and stream their media content in an encrypted form.
These are some examples of the types of environments in which embodiments of the present invention may be used.